#ifndef _PUBLISHER_H_
#define _PUBLISHER_H_
#include <iostream>
#include <memory>
#include <unordered_map>
#include "observer.h"
using namespace std;

class publisher {
    public:
        virtual void addSubscriber(string name, unique_ptr<observer> ob);
        virtual void deleteSubscriber(string name);
        virtual void notify();
    private:
        unordered_map<string, unique_ptr<observer>> observers;
};
#endif